<!DOCTYPE html>
<html class="x-admin-sm">

<head>
    <meta charset="UTF-8">
    <title>宿舍管理系统</title>
    <meta name="renderer" content="webkit">
    <meta name="csrf-token" content="{{ csrf_token() }}" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
        content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
    <link rel="stylesheet" href="{{ asset('css/font.css') }}">
    {{-- <link rel="stylesheet" href="{{asset('lib/layui/css/layui.css')}}"> --}}
    <link rel="stylesheet" href="{{ asset('css/xadmin.css') }}">
    <script src="{{ asset('lib/layui/layui.js') }}" charset="utf-8"></script>
    <script type="text/javascript" src="{{ asset('js/xadmin.js') }}"></script>

    <!--[if lt IE 9]>
    <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
    <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>

<body>
    <div class="x-nav">
        <span class="layui-breadcrumb">
            <a href="/home">首页</a>
            <a>
                <cite>表类型信息</cite></a>
        </span>
        <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right"
            onclick="location.reload()" title="刷新">
            <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
    </div>
    <div class="layui-fluid">
        <div class="layui-row layui-col-space15">
            <div class="layui-col-md12">
                <div class="layui-card">
                    <div class="layui-card-body layui-table-body layui-table-main">
                        <table class="layui-hide" id="test" lay-filter="test"></table>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>

<input type="hidden" name="_token" class="tag_token" value="{{ csrf_token() }}">
<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="add">
            <i class="layui-icon">&#xe654;</i>
        </button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="update">
            <i class="layui-icon">&#xe642;</i>
        </button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="delete">
            <i class="layui-icon">&#xe640;</i>
        </button>
    </div>
</script>
<script>
    layui.use(['table', 'jquery'], function() {
        var table = layui.table;
        let t_export = table.render({
            elem: '#test',
            url: `/meter-types`,
            toolbar: '#toolbarDemo',
            title: '计量表类型',
            cols: [
                [{
                    type: 'checkbox'
                }, {
                    field: 'id',
                    title: 'ID',
                    width: 80,
                    unresize: true,
                    hide: true
                }, {
                    field: 'name',
                    title: '类型',
                    width: 100,
                    sort: true
                }, {
                    field: 'code',
                    title: '类型编码',
                    width: 150,
                    sort: true
                }, {
                    field: 'abbr',
                    title: '缩写',
                    width: 100,
                    sort: true
                }, {
                    field: 'unit_price',
                    title: '单价',
                    width: 100,
                    sort: true
                }, {
                    field: 'unit',
                    title: '单位',
                    width: 100,
                    sort: true
                }, {
                    field: 'max_consumption',
                    title: '最大用量',
                    width: 100,
                    sort: true
                }, {
                    field: 'can_reset',
                    title: '自动重置',
                    width: 100,
                    sort: true,
                    templet: data => {
                        return data.can_reset == 1 ? '是' : '否';
                    }

                }, {
                    field: 'reset_limit',
                    title: '重置值',
                    width: 100,
                    sort: true
                }, {
                    field: 'created_at',
                    title: '创建时间',
                    width: 150,
                    sort: true
                }, {
                    field: 'updated_at',
                    title: '更新时间',
                    width: 150,
                    sort: true
                }]
            ],
            autoSort: true,
            initSort: {
                field: 'updated_at',
                type: 'desc'
            },
            page: false,
            limit: Number.MAX_VALUE, // 数据表格默认全部显示
            parseData: function(res) { //将原始数据解析成 table 组件所规定的数据
                return {
                    "code": 0, //解析接口状态
                    "msg": "", //解析提示文本
                    "count": res.length, //解析数据长度
                    "data": res //解析数据列表
                };
            }
        });

        //监听头工具栏事件
        table.on('toolbar(test)', function(obj) {
            let checkStatus = table.checkStatus(obj.config.id);
            let data = checkStatus.data; //获取选中的数据
            switch (obj.event) {
                case 'add':
                    xadmin.open('添加表类型', '{{ route('meter-types.create') }}', '700', '500')
                    break;
                case 'update':
                    if (data.length === 0) {
                        layer.msg('请选择一行');
                    } else if (data.length > 1) {
                        layer.msg('只能同时编辑一个');
                    } else {
                        xadmin.open('更新表类型', `/meter-types/${data[0].id}/edit`, '700', '500');
                    }
                    break;
                case 'delete':
                    if (data.length === 0) {
                        layer.msg('请选择一行');
                    } else {
                        layer.confirm('确认要删除吗？', function(index) {
                            //发异步删除数据
                            data.forEach(t => {
                                del_one(null, t.id);
                            });
                            layer.close(index);
                            table.reload('test', {});
                        });
                    }
                    break;
            };
        });

        function del_one(obj, id) {
            $.ajaxSetup({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                }
            });
            $.ajax({
                url: 'meter-types/' + id,
                type: 'DELETE',
                dataType: "json",
                success: function(res) {
                    if (res.error) {
                        layer.msg('删除失败:' + res.message, {
                            icon: 2,
                            time: 3000
                        });
                    } else {
                        layer.msg(`已删除${id}!`, {
                            icon: 1,
                            time: 1000
                        });
                    }

                },
                error: function(err) {
                    layer.msg('删除失败', {
                        icon: 2,
                        time: 1000
                    });
                }
            });
        }
    });
</script>

</html>
